package com.atguigu.rabbitmq.day08;

import com.atguigu.rabbitmq.utils.RabbitMqUtils;
import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.DeliverCallback;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeoutException;

/**
 * 死信队列列之消费者02代码 用来接收处理死信队列
 */
public class Consumer02 {
    //死信队列名称（c2只负责接收死信消息的队列）
    public static final  String DEAD_QUEUE="dead_queue";

    public static void main(String[] args) throws IOException, TimeoutException {
        Channel channel = RabbitMqUtils.getChannel();

        System.out.println("等待接收消息。。。。。");
        DeliverCallback deliverCallback=(consumerTag,message)->{
            System.out.println("Consumer02接收的消息为："+new String(message.getBody(),"UTF-8"));
        };
        //接收消息
        channel.basicConsume(DEAD_QUEUE,true,deliverCallback,consumerTag -> {} );
        
    }
}
/*生产者只负责正常的给普通交换机发消息，消费者02只负责处理死信队列的消息，他们两个的代码最简单，不知道中间发生了什么过程，这个过程都是在消费者01完成的，它的代码最多*/
